home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / interfaces / PInterface Translator / PInterfaces / Terminals.p < prev    next >
Encoding:
Text File  |  1993-09-16  |  7.2 KB  |  263 lines  |  [TEXT/MPS ]

  1. {
  2.     Terminals.p
  3.     Pascal Interface to the Terminal Manager
  4.     
  5.     Copyright © Apple Computer, Inc. 1988-90
  6.     All rights reserved
  7. }
  8. {$IFC UNDEFINED UsingIncludes}
  9. {$SETC UsingIncludes := 0}
  10. {$ENDC}
  11.  
  12. {$IFC NOT UsingIncludes}
  13.     UNIT Terminals;
  14.     INTERFACE
  15. {$ENDC}
  16.  
  17. {$IFC UNDEFINED UsingTerminals}
  18. {$SETC UsingTerminals := 1}
  19.  
  20. {$I+}
  21. {$SETC TerminalsIncludes := UsingIncludes}
  22. {$SETC UsingIncludes := 1}
  23. {$IFC UNDEFINED UsingDialogs}
  24. {$I $$Shell(PInterfaces)Dialogs.p}
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED UsingCTBUtilities}
  28. {$I $$Shell(PInterfaces)CTBUtilities.p}
  29. {$ENDC}
  30.  
  31. {$IFC UNDEFINED UsingConnections}
  32. {$I $$Shell(PInterfaces)Connections.p}
  33. {$ENDC}
  34.  
  35. {$SETC UsingIncludes := TerminalsIncludes}
  36.  
  37. CONST
  38. { current Terminal Manager version }
  39.     curTMVersion            =    2;
  40.     
  41. { current Terminal Manager Environment Record version }
  42.     curTermEnvRecVers        =    0;
  43.     
  44. { TMErr }
  45.     tmGenericError            =    -1;
  46.     tmNoErr                    =    0;
  47.     tmNotSent                =    1;
  48.     tmEnvironsChanged        =    2;
  49.     tmNotSupported            =    7;
  50.     tmNoTools                =    8;
  51.     
  52. { TMFlags }
  53.     tmInvisible                =    $00000001;
  54.     tmSaveBeforeClear        =    $00000002;
  55.     tmNoMenus                =    $00000004;
  56.     tmAutoScroll            =    $00000008;
  57.  
  58. { TMSelTypes & TMSearchTypes }
  59.     selTextNormal            =    $0001;
  60.     selTextBoxed            =    $0002;
  61.     selGraphicsMarquee        =    $0004;
  62.     selGraphicsLasso        =    $0008;
  63.         
  64.     tmSearchNoDiacrit        =    $0100;    {These are only for TMSearchTypes}
  65.     tmSearchNoCase            =    $0200;
  66.     
  67. { TMCursorTypes }
  68.     cursorText                =    1;
  69.     cursorGraphics            =    2;
  70.     
  71. { TMTermTypes }
  72.     tmTextTerminal            =    $0001;
  73.     tmGraphicsTerminal        =    $0002;
  74.     
  75. { TMChooseRec messages    }
  76.     tmChooseNochange    =    1;
  77.     tmChooseBackdoor    =    2;
  78.  
  79. TYPE
  80.     TMErr                =    OSErr;
  81.     TMFlags                =    LONGINT;
  82.     TMSelTypes            =    INTEGER;
  83.     TMSearchTypes        =    INTEGER;
  84.     TMCursorTypes        =    INTEGER;
  85.     TMTermTypes            =    INTEGER;
  86.         
  87.     { TMChoose data structures }
  88.     TMChooseRecPtr     =    ^TMChooseRec;
  89.     TMChooseRec        =    RECORD
  90.         reserved    :    LONGINT;
  91.         msg            :    LONGINT;
  92.         idleProc    :    ProcPtr;
  93.         filterProc    :    ProcPtr;
  94.         newTool        :    Str63;
  95.         newConfig    :    Ptr;
  96.         eventProc    :    ProcPtr;
  97.     END;
  98.     
  99.     TermDataBlockH        = ^TermDataBlockPtr;
  100.     TermDataBlockPtr    = ^TermDataBlock;
  101.     TermDataBlock        =    RECORD
  102.         flags            :     TMTermTypes;
  103.         theData            :     Handle;
  104.         auxData            :     Handle;
  105.         reserved        :     LONGINT;
  106.     END;
  107.     
  108.     TermEnvironPtr        =    ^TermEnvironRec;
  109.     TermEnvironRec        =    RECORD
  110.         version            :    INTEGER;
  111.         termType        :    TMTermTypes;
  112.         textRows        :    INTEGER;
  113.         textCols        :    INTEGER;
  114.         cellSize        :    Point;
  115.         graphicSize        :    Rect;
  116.         slop            :    Point;
  117.         auxSpace        :    Rect;
  118.     END;    
  119.         
  120.     
  121.     TMSelection            =    RECORD
  122.         CASE INTEGER OF
  123.             1:    (
  124.                 selRect            :    Rect;
  125.                 );
  126.             2:    (
  127.                 selRgnHandle    :    RgnHandle;
  128.                 filler            :    LONGINT;
  129.                 );
  130.             END;
  131.  
  132.     TermHandle            =    ^TermPtr;
  133.     TermPtr                =    ^TermRecord;
  134.     TermRecord            =    RECORD
  135.         procID            :    INTEGER;
  136.                 
  137.         flags            :    TMFlags;
  138.         errCode            :    TMErr;
  139.         
  140.         refCon            :    LONGINT;
  141.         userData        :    LONGINT;
  142.  
  143.         defProc            :    ProcPtr;
  144.  
  145.         config            :    Ptr;
  146.         oldConfig        :    Ptr;
  147.  
  148.         environsProc    :    ProcPtr;
  149.         reserved1        :    LONGINT;
  150.         reserved2        :    LONGINT;
  151.  
  152.         tmPrivate        :    Ptr;
  153.     
  154.         sendProc        :    ProcPtr;
  155.         breakProc        :    ProcPtr;
  156.         cacheProc        :    ProcPtr;
  157.         clikLoop        :    ProcPtr;
  158.             
  159.         owner            :    WindowPtr;
  160.         termRect        :    Rect;
  161.         viewRect        :    Rect;
  162.         visRect            :    Rect;
  163.         
  164.         lastIdle        :    LONGINT;
  165.         
  166.         selection        :    TMSelection;
  167.         selType            :    TMSelTypes;
  168.         
  169.         mluField        :    LONGINT;
  170.     END;
  171.  
  172. FUNCTION     InitTM: TMErr;
  173. FUNCTION     TMGetVersion(hTerm: TermHandle): Handle;
  174. FUNCTION     TMGetTMVersion: INTEGER;
  175.  
  176. FUNCTION      TMNew(termRect: Rect; viewRect: Rect; flags: TMFlags;
  177.                 procID: INTEGER; owner: WindowPtr; sendProc: ProcPtr; cacheProc: ProcPtr;
  178.                 breakProc: ProcPtr; clikLoop: ProcPtr; environsProc: ProcPtr;
  179.                 refCon: LONGINT; userData: LONGINT): TermHandle;
  180.                 
  181. PROCEDURE     TMDispose(hTerm: TermHandle);
  182.  
  183. PROCEDURE     TMKey(hTerm: TermHandle; theEvent: EventRecord);
  184. PROCEDURE     TMUpdate(hTerm: TermHandle; visRgn: RgnHandle);
  185. PROCEDURE     TMPaint(hTerm: TermHandle; theTermData: TermDataBlock; theRect: Rect);
  186. PROCEDURE     TMActivate(hTerm: TermHandle; activate: BOOLEAN);
  187. PROCEDURE     TMResume(hTerm: TermHandle; resume: BOOLEAN);
  188. PROCEDURE     TMClick(hTerm: TermHandle; theEvent : EventRecord);
  189. PROCEDURE     TMIdle(hTerm:TermHandle);
  190.  
  191. FUNCTION      TMStream(hTerm: TermHandle; theBuffer: Ptr; theLength: LONGINT; flags: CMFlags): LONGINT;
  192. FUNCTION      TMMenu(hTerm: TermHandle; menuID: INTEGER; item: INTEGER): BOOLEAN;
  193.  
  194. PROCEDURE     TMReset(hTerm: TermHandle);
  195. PROCEDURE     TMClear(hTerm: TermHandle);
  196.  
  197. PROCEDURE     TMResize(hTerm: TermHandle; newViewRect: Rect);
  198.  
  199. FUNCTION      TMGetSelect(hTerm: TermHandle; theData: Handle; VAR theType: ResType): LONGINT;
  200. PROCEDURE     TMGetLine(hTerm: TermHandle; lineNo: INTEGER; VAR theTermData: TermDataBlock);
  201. PROCEDURE     TMSetSelection(hTerm: TermHandle; theSelection: TMSelection; selType: TMSelTypes);
  202.  
  203. PROCEDURE     TMScroll(hTerm:TermHandle; dH, dV:INTEGER);
  204.  
  205. FUNCTION      TMValidate(hTerm:TermHandle):BOOLEAN;
  206. PROCEDURE     TMDefault(VAR theConfig: Ptr; procID: INTEGER; allocate: BOOLEAN);
  207.  
  208. FUNCTION      TMSetupPreflight(procID: INTEGER; VAR magicCookie: LONGINT) : Handle;
  209. PROCEDURE     TMSetupSetup(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;
  210.                 VAR magicCookie: LONGINT);
  211. FUNCTION      TMSetupFilter(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr; 
  212.                 VAR theEvent: EventRecord; VAR theItem: INTEGER; VAR magicCookie: LONGINT) : BOOLEAN;
  213. PROCEDURE     TMSetupItem(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;
  214.                 VAR theItem: INTEGER; VAR magicCookie: LONGINT);
  215. PROCEDURE     TMSetupCleanup(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;
  216.                 VAR magicCookie: LONGINT);
  217. PROCEDURE     TMSetupXCleanup(procID:INTEGER; theConfig:Ptr; count:INTEGER; theDialog:DialogPtr; 
  218.                 OKed: BOOLEAN; VAR magicCookie:LONGINT);
  219. PROCEDURE     TMSetupPostflight(procID: INTEGER);
  220.  
  221. FUNCTION      TMGetConfig(hTerm: TermHandle): Ptr;
  222. FUNCTION      TMSetConfig(hTerm: TermHandle; thePtr: Ptr): INTEGER;
  223.  
  224. FUNCTION      TMIntlToEnglish(hTerm: TermHandle; inputPtr: Ptr; VAR outputPtr: Ptr; 
  225.                 language: INTEGER): OSErr;
  226. FUNCTION      TMEnglishToIntl(hTerm: TermHandle; inputPtr: Ptr; VAR outputPtr: Ptr;
  227.                 language: INTEGER): OSErr;
  228.                 
  229. PROCEDURE     TMGetToolName(id: INTEGER; VAR name: Str255);
  230. FUNCTION      TMGetProcID(name: Str255) : INTEGER;
  231.  
  232. PROCEDURE     TMSetRefCon(hTerm: TermHandle; refCon: LONGINT);
  233. FUNCTION     TMGetRefCon(hTerm: TermHandle) : LONGINT;
  234.  
  235. PROCEDURE     TMSetUserData(hTerm: TermHandle; userData: LONGINT);
  236. FUNCTION     TMGetUserData(hTerm: TermHandle) : LONGINT;
  237.  
  238. FUNCTION     TMAddSearch(hTerm: TermHandle; theString: Str255; where: Rect; 
  239.                 searchType: TMSearchTypes; callBack: ProcPtr): INTEGER;
  240. PROCEDURE     TMRemoveSearch(hTerm: TermHandle; refnum: INTEGER);
  241. PROCEDURE     TMClearSearch(hTerm: TermHandle);
  242.  
  243. FUNCTION      TMGetCursor(hTerm: TermHandle; cursType: TMCursorTypes) : Point;
  244.  
  245. FUNCTION      TMGetTermEnvirons(hTerm: TermHandle; VAR theEnvirons: TermEnvironRec): TMErr;
  246.  
  247. FUNCTION     TMChoose(VAR hTerm:TermHandle; where: Point; idleProc:ProcPtr): INTEGER;
  248. FUNCTION     TMPChoose(VAR hTerm:TermHandle; where: Point; VAR cRec: TMChooseRec) : INTEGER;
  249.  
  250. PROCEDURE     TMEvent(hTerm: TermHandle; theEvent: EventRecord);
  251.  
  252. FUNCTION    TMDoTermKey(hTerm: TermHandle; theKey: Str255): BOOLEAN;
  253. FUNCTION    TMCountTermKeys(hTerm: TermHandle): INTEGER;
  254. PROCEDURE    TMGetIndTermKey(hTerm: TermHandle; id: INTEGER; VAR theKey: Str255);
  255.  
  256. PROCEDURE    TMGetErrorString(hTerm: TermHandle; id: INTEGER; VAR errMsg: Str255);
  257. {$ENDC} {UsingTerminals}
  258.  
  259. {$IFC NOT UsingIncludes}
  260.     END.
  261. {$ENDC}
  262.  
  263.